Various business entities, such as companies, store information electronically in furtherance of their business needs. These companies may have extensive databases of information that include order tables, customer tables, supplier tables, employee tables, and so on. The schemas and data models associated with these databases may be customized to help meet the business needs of the company. For example, an automotive manufacturer may organize information about its orders in a way that is very different from the way that an online bookstore may organize information about its orders. Even within a single company, that company may use many different application programs that employ very different schemas and data models. For example, a sales application program may use a data model that is very different from the data model used by an accounting program. The use of customized data models by a company and by applications within the company has the advantage that it allows information to be modeled in a way that is appropriate for business needs of the company. Unfortunately, because of this diversity in the data models, it is not easy for the company to share its information with other companies or for applications to share their information.
Various attempts have been made to define standard data models so that information can be more easily shared between companies and applications. However, these data models have not been able to achieve sufficient data integration and simplicity. As a result, companies have to maintain, support and upgrade multiple different data structures and maps for their products.